package com.lxk.map.gd.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author heyi
 * 2024/8/5
 */
@NoArgsConstructor
@Data
public class GdGeoResp {


    @com.fasterxml.jackson.annotation.JsonProperty("status")
    private String status;
    @com.fasterxml.jackson.annotation.JsonProperty("info")
    private String info;
    @com.fasterxml.jackson.annotation.JsonProperty("infocode")
    private String infocode;
    @com.fasterxml.jackson.annotation.JsonProperty("count")
    private String count;
    @com.fasterxml.jackson.annotation.JsonProperty("geocodes")
    private List<GeocodesModel> geocodes;

    @NoArgsConstructor
    @Data
    public static class GeocodesModel {
        @com.fasterxml.jackson.annotation.JsonProperty("formatted_address")
        private String formattedAddress;
        @com.fasterxml.jackson.annotation.JsonProperty("country")
        private String country;
        @com.fasterxml.jackson.annotation.JsonProperty("province")
        private String province;
        @com.fasterxml.jackson.annotation.JsonProperty("citycode")
        private String citycode;
        @com.fasterxml.jackson.annotation.JsonProperty("city")
        private String city;
        @com.fasterxml.jackson.annotation.JsonProperty("district")
        private String district;
        @com.fasterxml.jackson.annotation.JsonProperty("township")
        private List<?> township;
        @com.fasterxml.jackson.annotation.JsonProperty("neighborhood")
        private GeocodesModel.NeighborhoodModel neighborhood;
        @com.fasterxml.jackson.annotation.JsonProperty("building")
        private GeocodesModel.BuildingModel building;
        @com.fasterxml.jackson.annotation.JsonProperty("adcode")
        private String adcode;
        @com.fasterxml.jackson.annotation.JsonProperty("street")
        private String street;
        @com.fasterxml.jackson.annotation.JsonProperty("number")
        private String number;
        @com.fasterxml.jackson.annotation.JsonProperty("location")
        private String location;
        @com.fasterxml.jackson.annotation.JsonProperty("level")
        private String level;

        @NoArgsConstructor
        @Data
        public static class NeighborhoodModel {
            @com.fasterxml.jackson.annotation.JsonProperty("name")
            private List<?> name;
            @com.fasterxml.jackson.annotation.JsonProperty("type")
            private List<?> type;
        }

        @NoArgsConstructor
        @Data
        public static class BuildingModel {
            @com.fasterxml.jackson.annotation.JsonProperty("name")
            private List<?> name;
            @com.fasterxml.jackson.annotation.JsonProperty("type")
            private List<?> type;
        }
    }
}
